package com.ryder.petmatediarybackend.module.pet.entity;

import java.time.LocalDateTime;
import java.util.Date;
import java.io.Serial;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import java.io.Serializable;

 /**
 * 描述: 宠物成长轨迹记录表（按时间段记录）(PetGrowthRecord)实体类
 * 
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-30 10:13:32
 */
@Data
public class PetGrowthRecord implements Serializable {

    @Serial
    private static final long serialVersionUID = 638818353352001813L;

    /**
     * 记录ID（雪花ID生成）
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 宠物ID
     */
    private Long petId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 记录周期（如：2025-01表示2025年1月）
     */
    private String recordPeriod;

    /**
     * 周期开始日期
     */
    private Date startDate;

    /**
     * 周期结束日期
     */
    private Date endDate;

    /**
     * 周期开始体重（kg）
     */
    private Double weightStart;

    /**
     * 周期结束体重（kg）
     */
    private Double weightEnd;

    /**
     * 记录内容（文字）
     */
    private String content;

    /**
     * 媒体类型：1=图片
     */
    private Integer mediaType;

    /**
     * 媒体文件URL列表（JSON数组）
     */
    private String mediaUrls;

    /**
     * 是否公开：0=私密 1=公开
     */
    private Integer isPublic;

    /**
     * 浏览次数
     */
    private String viewCount;

    /**
     * 逻辑删除：0未删除 1已删除
     */
    @TableLogic
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
